#include <stdio.h>
#include <stdlib.h>
#include "var_array.h"
#include "bool.h"
#include "getString.h"

#ifndef _CONFIG_H_
#define _CONFIG_H_

/* Constantes */
#define CONFIGPATH "config.txt"

typedef struct t_Tag{
	char* nombre;
	V_Array subTags;
} tTag;

/* Primitivas */

/*  Carga los tags del archivo de configuracion en memoria
    PRE:    config tiene suficiente memoria reservada para una estructura de tipo V_Array.
            archConfig es una ruta de archivo de configuracion valida.
    POST:   Si devuelve 0, los tags han sido cargados.
            Si hubo error devuelve -1.
    PARAMS: config
            archConfig - Ruta al archivo de configuracion
*/
int Cargar(V_Array* config, char* archConfig);

/* Funciones auxiliares */

bool ExisteTagPrincipal(V_Array* config, char* tag,int* pos);

bool ExisteSubTag(V_Array* config, char* subTag, int pos);

int Destruir(V_Array* config);

void llenar (tTag* tag, char* command);

#endif /* _CONFIG_H_ */
